﻿//using System;
//using System.Data;
//using Microsoft.Data.SqlClient;
//using MySql.Data.MySqlClient;
//using NiuX.Common.Tests.Dapper.Repositories;

//namespace NiuX.Common.Tests.Dapper.Querables;

///// <summary>
///// 
///// </summary>
//public static class ConnectionFactory
//{
//    public static IDbConnection GetConnection(IDbQuerableContextModel contextModel)
//    {
//        switch (contextModel.DatabaseType)
//        {
//            case DatabaseType.None:
//                break;
//            case DatabaseType.MySql:
//                return new MySqlConnection(contextModel.ConnectionString);
//            case DatabaseType.SqlServer:
//                return new SqlConnection(contextModel.ConnectionString);
//            case DatabaseType.PostgreSql:
//                break;
//            case DatabaseType.Oracle:
//                break;
//            case DatabaseType.Sqlite:
//                break;
//            case DatabaseType.Firebird:
//                break;
//            case DatabaseType.DB2:
//                break;
//            case DatabaseType.Sybase:
//                break;
//            case DatabaseType.Informix:
//                break;
//            case DatabaseType.Ingres:
//                break;
//            case DatabaseType.H2:
//                break;
//            case DatabaseType.Hana:
//                break;
//            case DatabaseType.MariaDB:
//                break;
//            case DatabaseType.MongoDB:
//                break;
//            case DatabaseType.Couchbase:
//                break;
//            default:
//                throw new ArgumentOutOfRangeException();
//        }

//        throw new ArgumentOutOfRangeException();
//    }
//}